Service provider networks exist that allow customers to purchase, configure, and utilize various types of computing resources on a permanent or an as-needed basis. In particular, service provider networks can expose network interfaces through which customers can access various types of network services that provide computing resources such as, but not limited to, data processing resources, data storage resources, database resources, networking resources, and data communication resources.
It is not uncommon for the operator of a service provider network such as those described above to provide importable libraries, such as a software development kit (“SDK”), in order to enable third-party developers to create program code that utilizes the various types of network services available from the service provider network. These libraries commonly enable the invocation of remote procedure calls (“RPCs”) for accessing network services available in the service provider network.
While service provider supplied libraries can assist software developers in the creation of programs for accessing network services exposed by a service provider network, significant development effort is still typically required in order to access and utilize network services via RPCs as compared to writing program code that uses local procedure calls (“LPCs”). Moreover, libraries such as these that are used to support a single executable might utilize the same network service, but will often create a client connection to the network service in each library. This lack of coordination between libraries can result in multiple network connections to the same service, which can waste system resources and network bandwidth, and which therefore can also negatively impact the performance of both a client system and the called network service.
The disclosure made herein is presented with respect to these and other considerations.